//6月的第3个星期日是父亲节，由用户输入年份，算出该年的父亲节是哪一天

import java.time.LocalDate;
import java.time.DayOfWeek;

public class FathersDayCalculator {
    public static void main(String[] args) {
        // 创建一个Scanner对象以获取用户输入
        java.util.Scanner scanner = new java.util.Scanner(System.in);

        // 提示用户输入年份
        System.out.print("请输入年份: ");
        int year = scanner.nextInt();

        // 计算该年6月的第三个星期日
        LocalDate fathersDay = findThirdSundayOfJune(year);

        // 输出结果
        System.out.println(year + "年的父亲节是: " + fathersDay);

        // 关闭Scanner
        scanner.close();
    }

    // 方法计算某年6月的第三个星期日
    private static LocalDate findThirdSundayOfJune(int year) {
        LocalDate firstOfJune = LocalDate.of(year, 6, 1); // 该年6月1日的日期
        int sundayCount = 0;

        // 遍历6月的每一天
        for (int day = 1; day <= 30; day++) {
            LocalDate currentDate = LocalDate.of(year, 6, day);
            if (currentDate.getDayOfWeek() == DayOfWeek.SUNDAY) { // 如果是星期日
                sundayCount++;
            }
            // 当找到第三个星期日时，返回该日期
            if (sundayCount == 3) {
                return currentDate;
            }
        }
        return null; // 理论上不会到达这里
    }
}
